package com.tqz.rc.client.naming;

import com.tqz.rc.api.Instance;
import com.tqz.rc.common.exception.RcException;
import com.tqz.rc.common.lifecycle.Closeable;

import java.util.List;

/**
 * <p>
 *
 * @author tianqingzhao
 * @since 2021/8/30 10:49
 */
public interface NamingClientProxy extends Closeable {

    /**
     * 注册实例。
     *
     * @param serviceName 服务名称
     * @param groupName   分组名称
     * @param instance    实例信息
     * @throws RcException 注册实例抛出的异常信息
     */
    void registerInstance(String serviceName, String groupName, Instance instance) throws RcException;

    List<Instance> selectInstances(String namespaceId, String serviceName, String groupName);
}
